import App from './App'
import { createSSRApp } from 'vue'
// 引入pinia函数
import { createPinia } from 'pinia'
// 引入并执行utils文件
import '@/utils/utils.js'
// 引入pinia持久化插件对象
// import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
import { createPersistedState } from 'pinia-plugin-persistedstate'

export function createApp() {
  const app = createSSRApp(App)

  // 创建一个pinia插件对象
  const pinia = createPinia()
  // 在pinia中使用持久化插件对象
  // pinia.use(piniaPluginPersistedstate)
  pinia.use(
    // 产生一个自定义的插件对象(可以配置)
    createPersistedState({
      key: (id) => `__shenling__${id}`,
      // 配置自定义的存储方案
      storage: {
        getItem(key) {
          return uni.getStorageSync(key)
        },
        setItem(key, value) {
          uni.setStorageSync(key, value)
        },
      },
    })
  )
  // 在项目中集成pinia
  app.use(pinia)

  return {
    app,
  }
}
